| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354 |
- let _Http = getApp().globalData.http,
- count = null;
- Page({
- data: {
- loading: false,
- showAll: false,
- content: {
- sa_contractid: 0
- },
- disabled: true,
- },
- onLoad(options) {
- console.log("options", options)
- let type = '';
- if (options.type) type = options.type;
- let form = [{
- label: "经销商",
- error: false,
- errMsg: "",
- type: "route",
- url: "/prsx/select/firm/index",
- value: "",
- params: {
- id: 2025102416055302,
- "content": {
- "pageSize": 20,
- "pageNumber": 1,
- sa_customersid: 0
- },
- },
- query: "&radio=true",
- placeholder: "选择经销商",
- valueName: "sa_agentsid",
- checking: "base",
- required: options.type == '经销商协议',
- interrupt: options.type == '经销商协议',
- disabled: options.type == '医院协议'
- }, {
- label: "签约日期",
- error: false,
- errMsg: "",
- type: "date",
- start: '',
- value: '',
- placeholder: "签约日期",
- valueName: "signdate",
- checking: "base",
- required: true,
- }, {
- label: "生效日期",
- error: false,
- errMsg: "",
- type: "date",
- start: '',
- value: '',
- placeholder: "生效日期",
- valueName: "begdate",
- checking: "base",
- required: true,
- }, {
- label: "截止日期",
- error: false,
- errMsg: "",
- type: "date",
- start: '',
- value: '',
- placeholder: "截止日期",
- valueName: "enddate",
- checking: "base",
- required: true,
- },
- // {
- // label: "履约保证金",
- // error: false,
- // errMsg: "",
- // type: "option",
- // optionNmae: "contractbond",
- // optionType: "radio", //复选 radio 单选
- // value: "",
- // placeholder: "履约保证金",
- // valueName: "earnestmoney",
- // checking: "base",
- // required: true
- // }, {
- // label: "货款支付",
- // error: false,
- // errMsg: "",
- // type: "option",
- // optionNmae: "deliverymode",
- // optionType: "radio", //复选 radio 单选
- // value: "",
- // placeholder: "货款支付",
- // valueName: "payment",
- // checking: "base",
- // required: true
- // }, {
- // label: "奖励政策",
- // error: false,
- // errMsg: "",
- // type: "textarea",
- // value: "",
- // placeholder: "奖励政策",
- // valueName: "reward",
- // checking: "base",
- // required: true
- // },
- {
- label: "年目标手术量",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "年目标手术量",
- valueName: "opqty",
- checking: "base",
- required: true
- }, {
- label: "负责人",
- error: false,
- errMsg: "",
- type: "route",
- url: "/prsx/select/saler/index",
- value: "",
- placeholder: "负责人",
- valueName: "saler_hrid",
- checking: "base",
- required: true,
- params: {
- "content": {
- "pageNumber": 1,
- "pageSize": 20,
- "where": {
- "condition": ""
- }
- },
- "id": 2025061911194602,
- },
- query: "&radio=true",
- interrupt: true,
- required: true,
- disabled: true
- }, {
- label: "备注",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "备注",
- valueName: "remarks",
- checking: "base",
- required: false
- }]
- if (type == '医院协议') form.unshift({
- label: "医院",
- error: false,
- errMsg: "",
- type: "route",
- url: "/prsx/select/hospital/index",
- value: "",
- placeholder: "医院",
- valueName: "sa_customersid",
- checking: "base",
- required: true,
- params: {
- "content": {
- "isExport": 0,
- "pageNumber": 1,
- "pageSize": 20,
- "where": {
- "condition": ""
- }
- },
- "id": 2025102416054102,
- },
- query: "&radio=true",
- required: true,
- interrupt: true,
- })
- if (options.data) {
- let data = JSON.parse(options.data);
- console.log(data)
- data.sa_customersid = [data.hospitalname, [data.sa_customersid]]
- data.sa_agentsid = [data.agentname, [data.sa_agentsid]]
- data.saler_hrid = [data.leader[0].name, [data.leader[0].hr.hrid]]
- form = form.map(v => {
- v.value = data[v.valueName];
- if (v.label == '负责人') {
- v.params.sys_enterpriseid = data.sys_enterpriseid
- if (type != '医院协议') v.disabled = false
- }
- if (type == '医院协议' && v.label == '经销商') v.disabled = false
- return v
- })
- this.setData({
- disabled: false,
- content: {
- sa_contractid: data.sa_contractid,
- },
- form
- })
- }
- this.setData({
- form,
- type
- })
- getApp().globalData.Language.getLanguagePackage(this, options.data ? '编辑' + type : '新建' + type);
- },
- 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 obj2 = form.find(v => v.label == '经销商')
- obj2.params.content.sa_customersid = data.id[0];
- obj2.value = '';
- obj2.disabled = false;
- form.find(v => v.label == '医院').value = data.value;
- let leader = data.item.leader[0];
- let obj1 = form.find(v => v.label == '负责人')
- obj1.value = [leader.name, ['']]
- wx.navigateBack()
- } else if (temporary.item.label == '经销商') {
- form.find(v => v.label == '经销商').value = data.value;
- let obj = form.find(v => v.label == '负责人')
- obj.params.content.sys_enterpriseid = data.item.sys_enterpriseid
- _Http.basic(obj.params).then(res => {
- if (res.code == 1 && res.data.length == 1) {
- form.find(v => v.label == '负责人').value = [res.data[0].name, [res.data[0].hrid]];
- this.setData({
- form
- })
- }
- })
- obj.disabled = false;
- wx.navigateBack()
- } else if (temporary.item.label == '负责人') {
- data.value[1][0] = data.item.hrid;
- form.find(v => v.label == '负责人').value = data.value;
- wx.navigateBack()
- }
- this.selectComponent("#Form").confirm();
- this.setData({
- form
- })
- },
- /* 表单必填项是否完成 */
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- },
- // 是否显示全部
- onChange({
- detail
- }) {
- this.setData({
- showAll: detail
- })
- },
- async submit() {
- this.setData({
- loading: true
- })
- let data = this.selectComponent("#Form").submit(),
- content = this.data.content,
- that = this;
- data.sa_agentsid = data.sa_agentsid.length ? data.sa_agentsid[1][0] : 0
- data.saler_hrid = data.saler_hrid.length ? data.saler_hrid[1][0] : 0
- try {
- data.sa_customersid = data.sa_customersid.length ? data.sa_customersid[1][0] : 0
- } catch (error) {
- }
- if (this.data.type == '医院协议') {
- _Http.basic({
- "id": 2025102416540802,
- "content": {
- ...content,
- ...data,
- }
- }).then(res => {
- console.log("查询有无重复", res)
- this.setData({
- loading: false
- })
- if (res.msg == "该合同已存在") {
- wx.showModal({
- content: '该医院存在有效期相同的医院协议,是否确定继续创建?',
- confirmText: "确定创建",
- complete: (res) => {
- if (res.confirm) {
- that.setData({
- loading: true
- })
- handle()
- }
- }
- })
- } else {
- this.setData({
- loading: true
- })
- handle()
- }
- })
- } else {
- handle()
- }
- function handle() {
- _Http.basic({
- "id": 20221121185302,
- "content": {
- ...content,
- ...data,
- }
- }).then(res => {
- that.setData({
- loading: false
- })
- 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/contract/detail') v.getDetail()
- })
- setTimeout(() => {
- if (content.sa_contractid == 0) {
- wx.redirectTo({
- url: '/prsx/contract/detail?id=' + res.data.sa_contractid,
- })
- } else {
- wx.navigateBack()
- }
- }, 300)
- })
- }
- },
- })
|