Commit 9cba91ed authored by Z's avatar Z

Z: Dot: store's single del done.

parent dffe03fd
...@@ -17,11 +17,18 @@ export function ApiStoreGetStoreDetail(inData) { ...@@ -17,11 +17,18 @@ export function ApiStoreGetStoreDetail(inData) {
}) })
} }
export function ApiStoreAddStore(inData) {
return request({
url: '/admin/auth/stall/save',
method: 'post',
data: qs.stringify(inData)
})
}
export function ApiStoreDelStore(inData) { export function ApiStoreDelStore(inData) {
return request({ return request({
url: '/admin/auth/stall/delete', url: `/admin/auth/stall/delete?stallId=${inData}`,
method: 'delete', method: 'delete',
params: inData
}) })
} }
......
...@@ -14,234 +14,235 @@ ...@@ -14,234 +14,235 @@
<d2-icon-svg name="close" class="icon" /> <d2-icon-svg name="close" class="icon" />
</div> </div>
</div> </div>
<div class="br"> <div class="br">
<el-form <!-- <el-form :model="zdata.post" label-width="auto" ref="addStore" :rules="zrule"> -->
class="searchzone" <el-form :model="zdata.post" label-width="auto" ref="addStore">
:model="formData" <!-- <el-form :model="zdata.post" label-width="auto" ref="createForm" :rules="rules"> -->
label-width="auto" <el-form-item label="门店名称:" prop="storeName">
ref="addStore"
:rules="rules"
>
<el-form-item label="门店名称:" prop="name">
<el-input <el-input
size="small" size="small"
v-model="formData.name" v-model="zdata.post.storeName"
style="width:240px" style="width:240px;"
placeholder="请输入门店名称" placeholder="请输入门店名称"
/> />
</el-form-item> </el-form-item>
<el-form-item label="门店类型:" prop="type">
<el-form-item label="门店类型:" prop="storeType">
<el-select <el-select
size="small" size="small"
v-model="formData.type" v-model="zdata.post.storeTypeId"
placeholder="请选择门店类型" placeholder="请选择门店类型"
style="width:240px" style="width:240px"
> >
<el-option <el-option
v-for="item in storeType" v-for="item in zlist.storeType"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="门店负责人:" prop="people"> <el-form-item label="门店负责人:" prop="people">
<el-select <el-select
size="small" size="small"
v-model="formData.people" v-model="zdata.post.storeBossId"
placeholder="请选择门店负责人" placeholder="请选择门店负责人"
style="width:240px" style="width:240px"
> >
<el-option <el-option
v-for="item in personList" v-for="item in zlist.storeBossId"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属柜组:" prop="counter"> <el-form-item label="所属柜组:" prop="counter">
<el-select <el-select
size="small" size="small"
v-model="formData.counter" v-model="zdata.post.storeFromBarId"
placeholder="请选择所属柜组" placeholder="请选择所属柜组"
style="width:240px" style="width:240px"
> >
<el-option <el-option
v-for="item in counter" v-for="item in zlist.storeFromBarId"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="门牌号:" prop="number"> <el-form-item label="门牌号:" prop="number">
<el-input <el-input
size="small" size="small"
v-model="formData.number" v-model="zdata.post.storeDoorCode"
style="width:240px" style="width:240px"
placeholder="请输入门牌号" placeholder="请输入门牌号"
/> />
</el-form-item> </el-form-item>
<el-form-item label="位置:" prop="area"> <el-form-item label="位置:" prop="area">
<el-input <el-input
size="small" size="small"
v-model="formData.area" v-model="zdata.post.storeAddress"
style="width:240px" style="width:240px"
placeholder="请输入位置" placeholder="请输入位置"
/> />
</el-form-item> </el-form-item>
<div class="cs">
<el-form-item label="绑定店员:">
</el-form-item>
<div style="display:inline-block;">
<el-transfer
style="text-align: left; display: inline-block"
v-model="value4"
:left-default-checked="[]"
:right-default-checked="[]"
:titles="['选择', '已选']"
:button-texts="['删除', '添加']"
@change="handleChange"
:data="data"
>
<span slot-scope="{ option }"
>{{ option.key }} - {{ option.label }}</span
>
</el-transfer>
</div>
</div>
</el-form> </el-form>
</div> </div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleCancel('addStore')" size="small">取 消</el-button> <el-button @click="handleCancel('addStore')" size="small">取 消</el-button>
<el-button type="primary" @click="handleFinish('addStore')" size="small">确 定</el-button> <!-- <el-button type="primary" @click="addStoreSubmit('createForm')" size="small">确 定</el-button> -->
<el-button type="primary" @click="addStoreSubmit" size="small">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { ApiStoreAddStore } from "@api/in/store";
const zlog = console.log.bind(console);
export default { export default {
data() { data() {
const generateData = _ => {
const data = [];
for (let i = 1; i <= 15; i++) {
data.push({
key: i,
label: `备选项 ${i}`,
disabled: i % 4 === 0
});
}
return data;
};
// 中英文验证规则 // 中英文验证规则
const nameValidate = (rule, value, callback) => { const nameValidate = (rule, value, callback) => {
let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/ let reg = /^[a-zA-Z\u4e00-\u9fa5]+$/;
if (!reg.test(value)) { if (!reg.test(value)) {
callback(new Error('含有非法字符(只能输入字母、汉字)!')) callback(new Error("含有非法字符(只能输入字母、汉字)!"));
} else { } else {
callback() callback();
}
} }
};
return { return {
addStoreDialog: false, zlist: {
data: generateData(),
value: [1],
value4: [1],
renderFunc(h, option) {
return <span>{ option.key } - { option.label }</span>;
},
formData: {
name: "",
code: "",
people: "",
type: "1",
number: "",
area: ""
},
storeType: [ storeType: [
{ {
id: "1", id: "0",
name: "普通门店" name: "普通"
}, },
{ {
id: "2", id: "1",
name: "专柜" name: "专柜"
} }
], ],
personList: [ storeBossId: [
{ {
id: "1", id: "2001200138020920001",
name: "张三" name: "王月云"
}, },
{ {
id: "2", id: "2001200138020930002",
name: "李四" name: "李强"
} }
], ],
counter: [ storeFromBarId: [
{ {
id: "1", id: "2001201134572130000",
name: "张三" name: "柜组一号"
}, },
{ {
id: "2", id: "2001201135500920000",
name: "李四" name: "柜组二号"
} }
], ]
rules: { },
name: [{ required: true, message: "请输入柜组名称", trigger: "blur" }, zdata: {
{ validator: nameValidate, trigger: "blur" }, post: {
               {  max: 50, message: '长度在50个字符以内', trigger: 'blur' }], storeName: "",
people: [ storeTypeId: "",
{ required: true, message: "请选择门店负责人", trigger: "change" } storeBossId: "",
], storeFromBarId: "",
 type: [ storeDoorCode: "",
          { required: true, message: "请选择门店类型", trigger: "change" } storeAddress: ""
        ],
counter: [
{ required: true, message: "请选择所属柜组", trigger: "change" }
],
number: [
          {  max: 50, message: '长度在50个字符以内', trigger: 'blur' },
        ],
        area: [
          {  max: 50, message: '长度在100个字符以内', trigger: 'blur' },
        ]
} }
},
rules: {
// name: [
// { required: true, message: "请输入柜组名称F", trigger: "blur" },
// { validator: nameValidate, trigger: "blur" },
// { max: 50, message: "长度在50个字符以内", trigger: "blur" }
// ],
type: [{ required: true, message: "请选择门店类型", trigger: "change" }]
// people: [
// { required: true, message: "请选择门店负责人", trigger: "change" }
// ],
// counter: [
// { required: true, message: "请选择所属柜组", trigger: "change" }
// ],
// number: [{ max: 50, message: "长度在50个字符以内", trigger: "blur" }],
// area: [{ max: 50, message: "长度在100个字符以内", trigger: "blur" }]
},
addStoreDialog: false
}; };
}, },
methods: { methods: {
handleClose(done) { handleClose(done) {
this.$confirm('确认关闭?') this.$confirm("确认关闭?")
.then(_ => { .then(_ => {
this.addStoreDialog = false this.addStoreDialog = false;
}) })
.catch(_ => {}); .catch(_ => {});
}, },
handleCancel(formName) { handleCancel(formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.addStoreDialog = false this.addStoreDialog = false;
}, },
handleFinish(formName) { addStoreSubmit(inDataName = "") {
this.$refs[formName].validate((valid) => { let postData = {
if (valid) { name: this.zdata.post.storeName,
this.addStoreDialog = false stallType: Number(this.zdata.post.storeTypeId),
} else { principal: Number(this.zdata.post.storeBossId),
console.log('error submit!!'); shopId: this.zdata.post.storeFromBarId,
return false; signNum: this.zdata.post.storeDoorCode,
} location: this.zdata.post.storeAddress,
}); };
},
handleChange() {}, console.log("--->postData =", postData);
ApiStoreAddStore(postData)
.then(res => {
})
.catch(err => {});
// this.$refs[inDataName].validate(valid => {
// if (valid) {
// // this.addStoreDialog = false;
// let postData = {
// name: this.zdata.post.storeName,
// stallType: this.zdata.post.storeTypeId,
// principal: this.zdata.post.storeBossId,
// shopId: this.zdata.post.storeFromBarId,
// signNum: this.zdata.post.storeDoorCode,
// location: this.zdata.post.storeAddress
// };
// zlog("--->postData =", postData);
// // ApiStoreAddStore(postData)
// // .then(res => {})
// // .catch(err => {});
// } else {
// console.log("error submit!!");
// return false;
// }
// });
}, },
watch:{ handleChange() {}
addStoreDialog(){ },
if(this.addStoreDialog){ watch: {
if(this.$refs.addStore){ addStoreDialog() {
if (this.addStoreDialog) {
if (this.$refs.addStore) {
this.$refs.addStore.resetFields(); this.$refs.addStore.resetFields();
} }
} }
...@@ -251,10 +252,6 @@ export default { ...@@ -251,10 +252,6 @@ export default {
</script> </script>
<style scoped> <style scoped>
.dialog >>> .el-dialog {
height: calc(100vh - 208px);
overflow: auto;
}
.choose { .choose {
padding: 16px; padding: 16px;
font-size: 16px; font-size: 16px;
...@@ -302,6 +299,7 @@ export default { ...@@ -302,6 +299,7 @@ export default {
border-top: 1px solid #f8f8f8; border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8; border-bottom: 1px solid #f8f8f8;
padding: 24px 60px; padding: 24px 60px;
/* border: 2px solid red; */
} }
.cs { .cs {
display: flex; display: flex;
......
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
<el-table-column prop="name" label="门店名称" align="center"></el-table-column> <el-table-column prop="name" label="门店名称" align="center"></el-table-column>
<el-table-column prop="type" label="门店类型" align="center" width="120"></el-table-column> <el-table-column prop="type" label="门店类型" align="center" width="120"></el-table-column>
<el-table-column prop="principal" label="门店负责人" align="center" width="120"></el-table-column> <el-table-column prop="principal" label="门店负责人" align="center" width="120"></el-table-column>
<el-table-column prop="signNum" label="所属柜组" align="center" width="120"></el-table-column> <el-table-column prop="shopId" label="所属柜组" align="center" width="120"></el-table-column>
<el-table-column prop="location" label="位置" align="center" width="120"></el-table-column> <el-table-column prop="location" label="位置" align="center" width="120"></el-table-column>
<el-table-column prop="shopId" label="门牌号" align="center" width="120"></el-table-column> <el-table-column prop="signNum" label="门牌号" align="center" width="120"></el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="200"> <el-table-column label="操作" align="center" fixed="right" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="storeGetStoreDetail(scope.row.id)" class="btn">详情</el-button> <el-button type="text" @click="storeGetStoreDetail(scope.row.id)" class="btn">详情</el-button>
...@@ -213,14 +213,8 @@ export default { ...@@ -213,14 +213,8 @@ export default {
let name = ""; let name = "";
for (let i = 0; i < mainList.length; i++) { for (let i = 0; i < mainList.length; i++) {
console.log("--->list: Num =", i);
id = this.list.main[i].principal; id = this.list.main[i].principal;
console.log("id =", id);
name = this.matchManIdAndManName(id); name = this.matchManIdAndManName(id);
console.log("name =", name);
this.list.main[i].principal = name; this.list.main[i].principal = name;
} }
}, },
...@@ -232,11 +226,8 @@ export default { ...@@ -232,11 +226,8 @@ export default {
}; };
ApiStoreGetMainList(postData).then(res => { ApiStoreGetMainList(postData).then(res => {
// this.list.mainV = res.data.adminStalls;
this.list.main = res.data.pageInfo_adminStalls.list[0]; this.list.main = res.data.pageInfo_adminStalls.list[0];
this.list.man = res.data.pageInfo_principals.list[0]; this.list.man = res.data.pageInfo_principals.list[0];
console.log("===>Main: Length =", this.list.main.length);
console.log("===>Man: Length =", this.list.man.length);
this.transManIdToManName(); this.transManIdToManName();
}); });
}, },
......
...@@ -3,6 +3,6 @@ module.exports = { ...@@ -3,6 +3,6 @@ module.exports = {
jest: true jest: true
}, },
rules: { rules: {
'import/no-extraneous-dependencies': 'off' // 'import/no-extraneous-dependencies': 'off'
} }
} }
\ No newline at end of file
...@@ -3684,6 +3684,11 @@ ejs@^2.6.1: ...@@ -3684,6 +3684,11 @@ ejs@^2.6.1:
resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1574560175968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1574560175968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=
el-tree-transfer@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/el-tree-transfer/-/el-tree-transfer-2.2.6.tgz#5115d49c13f15772a354fe250c6a63be412ef575"
integrity sha512-2vBex7F5uPiueP8e+5BpU1bad0A47DeS7DqlG/TA6DzXL4l3stHc5wTls6J0UQwKcUZO43eytebySKfrE58+uw==
electron-to-chromium@^1.3.322: electron-to-chromium@^1.3.322:
version "1.3.322" version "1.3.322"
resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment