123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- const _Http = getApp().globalData.http;
- Page({
- data: {
- sys_phonebookid: null, //是否为快捷选择创建的账号
- fromShowAll: true,
- form: [{
- label: "姓名",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "联系人名称",
- valueName: "name",
- required: true,
- checking: "base"
- }, {
- label: "手机号",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "联系人手机号码",
- valueName: "phonenumber",
- required: true,
- checking: "phone"
- }, {
- label: "部门",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "联系人所属部门",
- valueName: "depname",
- required: false,
- checking: "base"
- }, {
- label: "职位",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "联系人职位",
- valueName: "position",
- required: false,
- checking: "base"
- }, {
- label: "性别",
- error: false,
- errMsg: "",
- type: "sex",
- value: "",
- placeholder: "联系人性别",
- valueName: "sex",
- required: false,
- checking: "base"
- }, {
- label: "生日",
- error: false,
- errMsg: "",
- type: "date",
- value: "",
- placeholder: "联系人生日",
- valueName: "birthday",
- required: false
- }, {
- label: "邮箱",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "请填写",
- valueName: "email",
- required: false,
- checking: "mail"
- }, {
- label: "地区",
- error: false,
- errMsg: "",
- type: "region",
- value: [],
- placeholder: "省,市,区",
- valueName: "region",
- required: false
- }, {
- label: "详细地址",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "例: 科创园11栋1103室",
- valueName: "address",
- required: false,
- checking: "base"
- }, {
- label: "备注",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "请填写",
- valueName: "remarks",
- required: false,
- checking: "base"
- }],
- disabled: true,
- "content": {
- "contactsid": 0, //地址id
- "sys_enterpriseid": 0, //绑定数据
- "isleader": 0, //默认0
- "workaddress": 0,
- "isdefault": 0, //是否默认地址
- "isprimary": 0 //是否为主地址
- }
- },
- onLoad(options) {
- this.setData({
- "content.sys_enterpriseid": options.sys_enterpriseid
- });
- if (options.data) {
- let item = JSON.parse(options.data),
- form = this.data.form.map(v => {
- if (v.valueName == 'region') {
- v.value = item.province ? [item.province, item.city, item.county] : []
- } else {
- v.value = Object.hasOwn(item, v.valueName) ? item[v.valueName] : v.value;
- }
- return v
- });
- this.setData({
- form,
- "disabled": false,
- "content.contactsid": item.contactsid
- });
- if (item.sys_phonebookid) this.setData({
- sys_phonebookid: item.sys_phonebookid
- })
- };
- },
- /* 提交数据 */
- submit() {
- let data = this.selectComponent("#Form").submit();
- if (!data || this.data.disabled) return;
- const content = {
- ...this.data.content,
- ...data,
- "province": data.region[0] || "",
- "city": data.region[1] || "",
- "county": data.region[2] || "",
- sys_phonebookid: ""
- };
- delete(content.region);
- if (this.data.sys_phonebookid == null) {
- this.handleSubmit(content);
- } else {
- let that = this;
- wx.showModal({
- title: '提示',
- content: '是否删除原通讯录联系人信息',
- complete({
- confirm
- }) {
- content.sys_phonebookid = confirm ? that.data.sys_phonebookid : "";
- that.handleSubmit(content);
- }
- })
- }
- },
- handleSubmit(content) {
- _Http.basic({
- "id": "20221018141802",
- content
- }).then(res => {
- console.log("编辑联系人", res)
- if (res.msg != '成功') return wx.showToast({
- title: res.data,
- icon: "none"
- });
- wx.showToast({
- title: '保存成功',
- icon: "none"
- });
- setTimeout(() => {
- getCurrentPages().forEach(v => {
- if (v.__route__ == 'packageA/setclient/modules/contacts/detail/index') {
- v.getDetail();
- } else if (v.selectComponent("#Contacts")) {
- let page = v.selectComponent("#Contacts"),
- list = page.data.list,
- index = list.findIndex(value => value.contactsid == res.data.contactsid);
- if (index != -1) {
- //列表中存在说明是编辑,返回上一级页面并更新数据
- list[index] = res.data;
- page.setData({
- list
- });
- } else {
- //列表中不存在说明是新增,返回上一级页面更新数据 并进入详情
- list.push(res.data);
- page.setData({
- list,
- "content.total": page.data.content.total + 1
- });
- wx.navigateTo({
- url: '/packageA/setclient/modules/contacts/detail/index?contactsid=' + res.data.contactsid
- })
- }
- } else if (v.__route__ == 'packageA/project/modules/contacts/search/index') {
- let index = v.data.list.findIndex(value => value.contactsid == res.data.contactsid);
- console.log(index)
- if (index != -1) v.setData({
- [`list[${index}]`]: res.data
- })
- }
- });
- wx.navigateBack();
- }, 500)
- });
- },
- /* 表单是否填写完成 */
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- },
- /* 是否显示全部 */
- changefromShowAll({
- detail
- }) {
- this.setData({
- fromShowAll: detail
- })
- },
- })
|