|
|
@@ -8,164 +8,160 @@ Page({
|
|
|
repetitionShow: false,
|
|
|
repetitionList: [],
|
|
|
content: {
|
|
|
- sa_hospitaldepid: 0
|
|
|
+ sa_customersid: 0,
|
|
|
+ province: '',
|
|
|
+ city: '',
|
|
|
+ county: ''
|
|
|
},
|
|
|
disabled: true,
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
let form = [{
|
|
|
- label: "医院名称",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "textarea",
|
|
|
- value: "",
|
|
|
- placeholder: "医院名称",
|
|
|
- valueName: "enterprisename",
|
|
|
- checking: "base",
|
|
|
- slot: "info",
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "医院等级",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "option",
|
|
|
- optionNmae: "hospitalgrade",
|
|
|
- optionType: "radio", //复选 radio 单选
|
|
|
- value: "",
|
|
|
- placeholder: "医院等级",
|
|
|
- valueName: "grade",
|
|
|
- checking: "base",
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "医院类型",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "option",
|
|
|
- optionNmae: "hospitaltype",
|
|
|
- optionType: "radio", //复选 radio 单选
|
|
|
- value: "",
|
|
|
- placeholder: "医院类型",
|
|
|
- valueName: "type",
|
|
|
- checking: "base",
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "省市县",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "region",
|
|
|
- value: [],
|
|
|
- placeholder: "省/市/县",
|
|
|
- valueName: "region",
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "详细地址",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "textarea",
|
|
|
- value: "",
|
|
|
- placeholder: "详细地址",
|
|
|
- valueName: "address",
|
|
|
- checking: "base",
|
|
|
- required: false
|
|
|
- }, {
|
|
|
- label: "负责人",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "route",
|
|
|
- url: "/prsx/select/saler/index",
|
|
|
- value: "",
|
|
|
- placeholder: "负责人",
|
|
|
- valueName: "saler_userid",
|
|
|
- checking: "base",
|
|
|
- required: true,
|
|
|
- params: {
|
|
|
- "id": 20221011144603,
|
|
|
- "content": {
|
|
|
- "sa_saleareaid": '',
|
|
|
- "isExport": 0,
|
|
|
- "pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
- "where": {
|
|
|
- "condition": ""
|
|
|
- }
|
|
|
- },
|
|
|
- },
|
|
|
- query: "&radio=true",
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "营销区域",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "route",
|
|
|
- url: "/prsx/select/area/index",
|
|
|
- radio: true,
|
|
|
- value: "",
|
|
|
- placeholder: "营销区域",
|
|
|
- valueName: "saler_userid",
|
|
|
- checking: "base",
|
|
|
- required: true,
|
|
|
- params: {
|
|
|
- "classname": "webmanage.sale.salearea.salearea",
|
|
|
- "content": {},
|
|
|
- "method": "query_area",
|
|
|
- },
|
|
|
- required: true
|
|
|
- }, {
|
|
|
- label: "医院规模",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "textarea",
|
|
|
- value: "",
|
|
|
- placeholder: "医院规模",
|
|
|
- valueName: "scale",
|
|
|
- checking: "base",
|
|
|
- required: false
|
|
|
- }, {
|
|
|
- label: "医院床位",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "number",
|
|
|
- value: "",
|
|
|
- placeholder: "医院床位",
|
|
|
- valueName: "bed",
|
|
|
- checking: "base",
|
|
|
- required: false
|
|
|
- }, {
|
|
|
- label: "手术间",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "textarea",
|
|
|
- value: "",
|
|
|
- placeholder: "手术间",
|
|
|
- valueName: "room",
|
|
|
- checking: "base",
|
|
|
- required: false
|
|
|
- }, {
|
|
|
- label: "主机数量",
|
|
|
- error: false,
|
|
|
- errMsg: "",
|
|
|
- type: "number",
|
|
|
- value: "",
|
|
|
- placeholder: "主机数量",
|
|
|
- valueName: "host",
|
|
|
- checking: "base",
|
|
|
- required: false
|
|
|
- }]
|
|
|
+ label: "医院名称",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "textarea",
|
|
|
+ value: "",
|
|
|
+ placeholder: "医院名称",
|
|
|
+ valueName: "enterprisename",
|
|
|
+ checking: "base",
|
|
|
+ slot: "info",
|
|
|
+ required: true
|
|
|
+ }, {
|
|
|
+ label: "医院等级",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "option",
|
|
|
+ optionNmae: "hospitalgrade",
|
|
|
+ optionType: "radio", //复选 radio 单选
|
|
|
+ value: "",
|
|
|
+ placeholder: "医院等级",
|
|
|
+ valueName: "grade",
|
|
|
+ checking: "base",
|
|
|
+ required: true
|
|
|
+ }, {
|
|
|
+ label: "医院类型",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "option",
|
|
|
+ optionNmae: "hospitaltype",
|
|
|
+ optionType: "radio", //复选 radio 单选
|
|
|
+ value: "",
|
|
|
+ placeholder: "医院类型",
|
|
|
+ valueName: "type",
|
|
|
+ checking: "base",
|
|
|
+ required: true
|
|
|
+ }, {
|
|
|
+ label: "省市县",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "region",
|
|
|
+ value: [],
|
|
|
+ placeholder: "省/市/县",
|
|
|
+ valueName: "region",
|
|
|
+ required: true
|
|
|
+ }, {
|
|
|
+ label: "详细地址",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "textarea",
|
|
|
+ value: "",
|
|
|
+ placeholder: "详细地址",
|
|
|
+ valueName: "address",
|
|
|
+ checking: "base",
|
|
|
+ required: false
|
|
|
+ }, {
|
|
|
+ label: "负责人",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "route",
|
|
|
+ url: "/prsx/select/saler/index",
|
|
|
+ value: "",
|
|
|
+ placeholder: "负责人",
|
|
|
+ valueName: "saler_userid",
|
|
|
+ checking: "base",
|
|
|
+ required: true,
|
|
|
+ params: {},
|
|
|
+ query: "&radio=true",
|
|
|
+ required: true,
|
|
|
+ interrupt: true
|
|
|
+ }, {
|
|
|
+ label: "营销区域",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "selector",
|
|
|
+ range: [],
|
|
|
+ rangeKey: "areaname",
|
|
|
+ selectKey: "areaname",
|
|
|
+ rangeIndex: "",
|
|
|
+ value: "",
|
|
|
+ placeholder: "营销区域",
|
|
|
+ valueName: "sa_saleareaid",
|
|
|
+ required: true, //必填
|
|
|
+ disabled: true
|
|
|
+ }, {
|
|
|
+ label: "医院规模",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "textarea",
|
|
|
+ value: "",
|
|
|
+ placeholder: "医院规模",
|
|
|
+ valueName: "scale",
|
|
|
+ checking: "base",
|
|
|
+ required: false
|
|
|
+ }, {
|
|
|
+ label: "医院床位",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "number",
|
|
|
+ value: "",
|
|
|
+ placeholder: "医院床位",
|
|
|
+ valueName: "bed",
|
|
|
+ checking: "base",
|
|
|
+ required: false
|
|
|
+ }, {
|
|
|
+ label: "手术间",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "textarea",
|
|
|
+ value: "",
|
|
|
+ placeholder: "手术间",
|
|
|
+ valueName: "room",
|
|
|
+ checking: "base",
|
|
|
+ required: false
|
|
|
+ }, {
|
|
|
+ label: "主机数量",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "number",
|
|
|
+ value: "",
|
|
|
+ placeholder: "主机数量",
|
|
|
+ valueName: "host",
|
|
|
+ checking: "base",
|
|
|
+ required: false
|
|
|
+ }],
|
|
|
+ hrid = '';
|
|
|
if (options.data) {
|
|
|
let data = JSON.parse(options.data);
|
|
|
form = form.map(v => {
|
|
|
if (v.valueName != 'region') {
|
|
|
v.value = data[v.valueName] || "";
|
|
|
- if (v.valueName == "grade") v.value = data[v.valueName] + "";
|
|
|
+ if (v.valueName == 'saler_userid') {
|
|
|
+ let leader = data.leader[0];
|
|
|
+ v.value = [leader.name, [leader.userid]]
|
|
|
+ }
|
|
|
+ if (v.valueName == 'sa_saleareaid') v.value = data.areaname;
|
|
|
} else {
|
|
|
v.value = data.province ? [data.province, data.city, data.county] : []
|
|
|
};
|
|
|
+ if (['省市县', '详细地址'].includes(v.label)) v.disabled = true;
|
|
|
return v
|
|
|
})
|
|
|
+ hrid = data.leader[0].hr.hrid;
|
|
|
this.setData({
|
|
|
disabled: false,
|
|
|
content: {
|
|
|
- sa_hospitaldepid: data.sa_hospitaldepid,
|
|
|
+ sa_customersid: data.sa_customersid
|
|
|
},
|
|
|
form
|
|
|
})
|
|
|
@@ -173,11 +169,29 @@ Page({
|
|
|
// 业务员
|
|
|
if (![0, 21].includes(wx.getStorageSync('userMsg').usertype)) {
|
|
|
let item = form.find(v => v.laber == '负责人');
|
|
|
- if (item) {
|
|
|
- item.disabled = true;
|
|
|
- }
|
|
|
+ if (item) item.disabled = true;
|
|
|
+ hrid = wx.getStorageSync('userMsg').hrid;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (hrid) {
|
|
|
+ _Http.basic({
|
|
|
+ "method": "query_hrMain",
|
|
|
+ "classname": "webmanage.hr.hr",
|
|
|
+ "content": {
|
|
|
+ hrid
|
|
|
+ },
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code != 1) return;
|
|
|
+ let obj = form.find(v => v.label == '营销区域')
|
|
|
+ obj.range = res.data.salearea;
|
|
|
+ obj.value = obj.range[0].areaname;
|
|
|
+ obj.disabled = false;
|
|
|
+ this.setData({
|
|
|
+ form
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
this.setData({
|
|
|
form
|
|
|
})
|
|
|
@@ -200,11 +214,39 @@ Page({
|
|
|
showAll: detail
|
|
|
})
|
|
|
},
|
|
|
+ interrupt(e) {
|
|
|
+ const {
|
|
|
+ data,
|
|
|
+ form,
|
|
|
+ temporary
|
|
|
+ } = e.detail;
|
|
|
+ console.log(data, form, temporary)
|
|
|
+ if (temporary.item.label == '负责人') {
|
|
|
+ form.find(v => v.label == '负责人').value = data.value;
|
|
|
+ let obj = form.find(v => v.label == '营销区域')
|
|
|
+ obj.range = data.item.sa_saleareas;
|
|
|
+ obj.value = obj.range[0].areaname;
|
|
|
+ obj.disabled = false;
|
|
|
+ wx.navigateBack()
|
|
|
+ }
|
|
|
+ this.selectComponent("#Form").confirm();
|
|
|
+ this.setData({
|
|
|
+ form
|
|
|
+ })
|
|
|
+ },
|
|
|
async submit() {
|
|
|
this.setData({
|
|
|
loading: true
|
|
|
})
|
|
|
let data = this.selectComponent("#Form").submit();
|
|
|
+ data.saler_userid = data.saler_userid[1][0];
|
|
|
+ data.sa_saleareaid = this.data.form.find(v => v.label == '营销区域').range.find(v => v.areaname == data.sa_saleareaid).sa_saleareaid;
|
|
|
+ if (data.region.length) {
|
|
|
+ data.province = data.region[0];
|
|
|
+ data.city = data.region[1];
|
|
|
+ data.county = data.region[2];
|
|
|
+ }
|
|
|
+ delete data.region
|
|
|
_Http.basic({
|
|
|
"id": 20221012163902,
|
|
|
"content": {
|
|
|
@@ -215,12 +257,24 @@ Page({
|
|
|
this.setData({
|
|
|
loading: false
|
|
|
})
|
|
|
- console.log("新建医院", res)
|
|
|
- if (res.code != '1') return wx.showToast({
|
|
|
- title: res.msg,
|
|
|
- icon: "none"
|
|
|
+ wx.showToast({
|
|
|
+ title: res.code != '1' ? res.msg : '保存成功',
|
|
|
+ icon: "none",
|
|
|
+ mask: res.code == '1'
|
|
|
+ })
|
|
|
+ if (res.code != '1') return;
|
|
|
+ getCurrentPages().forEach(v => {
|
|
|
+ if (v.route == 'prsx/hospital/detail') v.getDetail()
|
|
|
})
|
|
|
- getApp().globalData.Language.showToast('保存成功')
|
|
|
+ setTimeout(() => {
|
|
|
+ if (this.data.content.sa_customersid == 0) {
|
|
|
+ wx.redirectTo({
|
|
|
+ url: '/prsx/hospital/detail?id=' + res.data.sa_customersid,
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ wx.navigateBack()
|
|
|
+ }
|
|
|
+ }, 300)
|
|
|
})
|
|
|
},
|
|
|
})
|